Application Pooling Administration Concepts
The COM+ Application Pooling service enhances system reliability by allowing single-threaded processes to scale, similar to the way that thread pooling allows single-threaded objects to scale. This is especially helpful in situations when legacy code (where no threading model is defined) must run in the main single-threaded apartment.
Application pooling can also help recover from failures in single processes by providing other running processes able to handle activations. For example, if there are three running processes for a single application and one process fails, the other processes are unaffected and the possible loss of work is minimized. If the COM+ Application Recycling service is also enabled, application pooling further ensures reliability and stability because only one of the specified number of running processes is recycled at any one time.
Note Library applications have the recycling and pooling properties of their host process.
With the COM+ Application Pooling service, you can use the Component Services administrative tool to specify multiple server processes, which then effectively act as a single application. When the application starts, COM+ creates a specified number of Dllhost processes, and these processes simultaneously service activations for the application. Any instance of the Dllhost process can service any call to the server application.
To configure application pooling with the Component Services administrative tool, you simply enter an integer value in the Pool Size field on the Pooling & Recycling property page. This value specifies the maximum number of simultaneous Dllhost processes that should be started to service activations for an application. If the Pool Size field is set to 1, which is the default value, the COM+ Application Pooling service is disabled.
For step-by-step instructions on configuring application pooling with the Component Services administrative tool, see Configuring Application Pooling. You can also configure application pooling programmatically by using the COM+ Administrative SDK.